package leetcode.simple.q237;

public class Main {
    public static void main(String[] args) {
        Solution solution = new Solution();
        ListNode needDel = new ListNode(5);
        solution.deleteNode2(needDel);

    }
}


class ListNode {
    int val;
    ListNode next;
    ListNode(int x) {
        val = x;
    }

    @Override
    public String toString() {
        return "ListNode{" +
                "val=" + val +
                ", next=" + next +
                '}';
    }
}

class Solution {

    public void deleteNode(ListNode node) {
        ListNode listNode = new ListNode(4);
        listNode.next = new ListNode(5);
        listNode.next.next = new ListNode(1);
        listNode.next.next.next = new ListNode(9);

        ListNode t = listNode;
        while (true){

            if (t.next.val == node.val){
                ListNode temp = t.next.next;
                t.next.next = null;
                t.next = temp;
                break;
            }

            if (t.next == null){
                break;
            }

            t = t.next;
        }

        System.out.println(listNode);
    }


    public void deleteNode2(ListNode node) {
        ListNode listNode = new ListNode(4);
        listNode.next = new ListNode(5);
        listNode.next.next = new ListNode(1);
        listNode.next.next.next = new ListNode(9);

        node.val = node.next.val;
        node.next = node.next.next;

        System.out.println(listNode);

    }
}
